如何编译Android WebRTC源码
WebRTC名称源自web实时通讯是Web Real-Time Communication的缩写,是一个支持浏览器进行实时语音对话或视频对话的API。它于2011年6月1日开源并在Google、Mozilla、Opera支持下被纳入W3C标准中。在本教程中,我假设您使用Linux并了解webrtc和android开发。Android webrtc源码编译仅支持在Linux下编译。这包括如何安装Chromium de...
2024-01-10Android 简单的图片查看器源码实现
本文介绍了Android 简单的图片查看器源码实现,分享给大家,具体如下:public class MainActivity extends Activity {private EditText et_path;private ImageView iv; //创建handler 对象 // private Handler handler = new Handler(){ // // //处理消息 // public void handleMessage(android.os...
2024-01-10Lodash isLength源码
MAX_SAFE_INTEGER 是怎么算的回答Number.MAX_SAFE_INTEGER - JavaScript | MDN (mozilla.org)2**53 -1...
2024-01-10iOS源码阅读必备知识之Tagged Pointer
Tagged Pointer 介绍苹果对于Tagged Pointer特点的介绍:Tagged Pointer专门用来存储小的对象,例如NSNumber和NSDateTagged Pointer指针的值不再是地址了,而是真正的值。所以,实际上它不再是一个对象了,它只是一个披着对象皮的普通变量而已。所以,它的内存并不存储在堆中,也不需要malloc和free。在内存读取...
2024-01-10Android AsyncTask完全解析 带你从源码的角度彻底理解
我们都知道,Android UI是线程不安全的,如果想要在子线程里进行UI操作,就需要借助Android的异步消息处理机制。之前我也写过了一篇文章从源码层面分析了Android的异步消息处理机制。不过为了更加方便我们在子线程中更新UI元素,Android从1.5版本就引入了一个AsyncTask类,使用它就可以非常灵活方便地从...
2024-01-10深入理解 FilterChainProxy【源码篇】
昨天有小伙伴加松哥微信,说他把松哥的 Spring Security 系列撸完了。。but 松哥这个系列还没发完呢,在我的计划中,Spring Security 系列目前应该能更新一半,还剩一半,虽然有的小伙伴可能觉得好像已经没啥了,其实还有很多东西。。。松哥最近也是特别忙,Security 更新慢下来了,但是秉持前面说的,...
2024-01-10【安卓】源码深度解析 Handler 机制及应用
本文以源码分析+实际应用的形式,详细讲解了 Handler 机制的原理,以及在开发中的使用场景和要注意的地方。一、基本原理回顾在 Android 开发中,Handler及相关衍生类的应用经常用到,Android的运行也是建立在这套机制上的,所以了解其中的原理细节,以及其中的坑对于每位开发者来说都是非常有必要...
2024-01-10深入理解 WebSecurityConfigurerAdapter【源码篇】
我们继续来撸 Spring Security 源码,今天来撸一个非常重要的 WebSecurityConfigurerAdapter。我们的自定义都是继承自 WebSecurityConfigurerAdapter 来实现的,但是对于 WebSecurityConfigurerAdapter 内部的工作原理,配置原理,很多小伙伴可能都还不太熟悉,因此我们今天就来捋一捋。我们先来看一张 WebSecurityConfigurerAdapter ...
2024-01-10java 线程池 ThreadPoolExecutor 部分源码分析
首先放上参考链接,博主分析比较细致:https://fangjian0423.github.io/2016/03/22/java-threadpool-analysis/1. 首先必须清楚这么几个常量,主要思想是用一个int型表示线程池状态及数量,用int高三位表示状态,低29位表示线程数,所以,线程池最大线程数为 :1 << 29 - 1 而不是 1 << 32 - 1。2. 基于以上基础,线程池状态...
2024-01-10PHP在线调试执行的实现方法(附demo源码)
本文实例讲述了PHP在线执行的实现方法。分享给大家供大家参考,具体如下:运行效果截图如下:run.php文件如下:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type...
2024-01-10【Java】阅读 Flink 源码前必会的知识 SPI 和 Classloader
首页专栏java文章详情0阅读 Flink 源码前必会的知识 SPI 和 ClassloaderKK架构发布于 今天 13:54 一、本文大纲二、ClassLoader 类加载器1、Java 中的类加载器以及双亲委派机制Java 中的类加载器,是 Java 运行时环境的一部分,负责动态加载 Java 类到 Java 虚拟机的内存中。有了类加载器,Java 运行系统...
2024-01-10【JS】Github域名加上`1s`,在线VS Code阅读源码神器诞生
首页专栏javascript文章详情0Github域名加上`1s`,在线VS Code阅读源码神器诞生蓝色的秋风发布于 40 分钟前近日,一款域名为 github1s 开源项目诞生了,正如他的名字所说,只要在 github 地址上面加上 1s,就能秒级用在线 VS Code 打开 github 项目,这可以说为开发者带来了巨大的便利!!!我们来看...
2024-01-10Java Swing实现餐厅点餐系统源码(收藏版)
本文适合Java初级选手,主要技术是Java和MySQL。主要功能如下:(1)注册功能(2)管理员可以新增套餐(3)管理员可以管理套餐(4)管理员可以处理订单(5)管理员可以修改密码(6)顾客可以点餐(7)顾客可以查看订单信息(8)顾客可以修改个人信息下面是项目目录源码有点多,不太好贴...
2024-01-10【安卓】字节跳动总监对Android组件化的最佳实战总结 ,覆盖整个互联网公司(附源码)
首页专栏android文章详情0字节跳动总监对Android组件化的最佳实战总结 ,覆盖整个互联网公司(附源码)李先森发布于 38 分钟前背景组件化作为Android客户端技术的一个重要分支,近年来一直是业界积极探索和实践的方向。每个大厂内部的各个Android开发团队也在尝试和实践不同的组件化方案...
2024-01-10【小程序】Taro 源码解读 - @tarojs/taro 篇
因为近期使用到 Taro 编写小程序,出于好奇,准备研读一下 Taro 的源码。目录分析首先从官网拉取最新的 Taro 源码,版本号为 3.0.18,源码目录如下:目录没什么特别的,我们来重点关注一下 packages 目录中的核心包(如下图)这些核心包构成了 Taro,实现了 Taro 的多平台构建。@tarojs/taro在开发过程...
2024-01-10Striped64、LongAdder、LongAccumulator源码分析
Striped64、LongAdder、LongAccumulator 源码分析LongAdder 的作者是Doug Lea大神,该类原本在Guava工具包中,后来被Java8吸收,以下源码基于Java8LongAdder 继承自Striped64,并实现了Serializable序列化接口。Striped64 继承自Number,重写了longValue,intValue,floatValue,doubleValueStriped64设计思路该类提供一个Cell数组,和一个base字...
2024-01-10CoroutineContext源码分析
context,即协程上下文public interface Continuation<in T> { /** * The context of the coroutine that corresponds to this continuation. */ public val context: CoroutineContext /** * Resumes the execution of the corresponding coroutine passing a ...
2024-01-10看SpringCloudEureka源码前懂得这些知识事半功倍
不要把“间歇性踌躇满志,持续性混吃等死”活成一种习惯一、为什么写这篇文章二、基础知识1.寻根问码2.Jersey 框架(熟悉而又陌生的Contoller)3.Google的guava框架(瓜娃子)4.HTTP通信5.EurekaServer的设计思想6.InstanceInfo域值(DTO)三、总结一、为什么写这篇文章因为公司用的是SpringCloud,所以闲暇之余,我尝...
2024-01-10nodemailer极简源码解析与实现原理
前言① 本文只解析基于SMTP协议发送邮件的情况② 本文的解析基于删减学习版—simple-nodemailer③ 关于处理email.content的部分省略一、使用这段跟 官网example 一样://位置:index.jsconst nodemailer=require('./nodemailer')const config=require('./config')async function sendEMail(option){ //根据用户名、密码、qq邮箱smtp地址、...
2024-01-10javaArrayBlockingQueue源码探讨
在我们学习了ArrayBlockingQueue的基本内容后,需要进一步的对其源码进行探索,找出其中的一些方法,以及对用法的原理上有更深刻的理解。下面我们就ArrayBlockingQueue类的定义进行解析,找寻其参数、构造方法、同步机制的概念,进一步在其中分析源码。1. 类的定义public class ArrayBlockingQueue<E> extends Abst...
2024-01-10dubbo,Cluster$Adaptive类源码是什么
源码由ExtensionLoader.createAdaptiveExtensionClassCode()方法生成dubbo默认cluster类型为failoverpackage com.alibaba.dubbo.rpc.cluster;import com.alibaba.dubbo.common.extension.ExtensionLoader;public class Cluster$Adaptive implements com.alibaba.dubbo.rpc.cluster.Cluster...
2024-01-10并发编程第六天----LongAdder源码深度解析
简介AtomicLong 通过 CAS 提供了非阻塞的原子性操作,性能比使用同步锁好多了。但是在高并发情况下,大量线程争夺同一个原子变量,只有一个线程的 CAS 能操作成功,其他线程会不停地 CAS 自旋,极度浪费 CPU 资源。为了解决这个问题,JDK8 提供了一个类 LongAdder。把一个变量分成多个变量,让同样多的...
2024-01-10AQS(AbstractQueuedSynchronizer)源码导读:锁的获得与释放
Provides a framework for implementing blocking locks and related synchronizers (semaphores, events, etc) that rely on first-in-first-out (FIFO) wait queues. This class is designed to be a useful basis for most kinds of synchronizers that rely on a single a...
2024-01-10SpringCloudRibbon源码解析
专栏目录Spring Cloud OpenFeign 源码解析Spring Cloud Ribbon 源码解析Spring Cloud Alibaba Sentinel 源码解析Spring Cloud Gatway 源码解析Spring Cloud Alibaba Nacos 源码解析代码准备依赖关系+------------+ +------------+| | | || | ...
2024-01-10redis源码学习01:字符串sds
前言本文是redis源码关于字符串处理的学习笔记,欢迎指正。redis版本是5.0.5,redis的功能、用途及性能我就不做赘述了。正文进入正题,redis提供了自己的字符串存储及相关操作,源码文件在sds.h和sds.c里。在学习代码的过程中发现redis使用了一个比较巧妙的设计,redis里存储字符串不是简单的使用C语...
2024-01-10Koa源码解析,一起学习koa
前言本文是我在阅读 Koa 源码后,并实现迷你版 Koa 的过程。如果你使用过 Koa 但不知道内部的原理,我想这篇文章应该能够帮助到你,实现一个迷你版的 Koa 不会很难。本文会循序渐进的解析内部原理,包括:基础版本的 koacontext 的实现中间件原理及实现文件结构application.js: 入口文件,里面包...
2024-01-10PostgreSQL源码学习(1)Page页
The Internals of PostgreSQL中对于存储的描述http://www.interdb.jp/pg/pgsql01.html#_1.2.每个表或索引都作为一个page数组存储于物理数据文件中(page大小默认为8k,编译时可以指定),单个的表数据文件中包含多个page页(默认单个表文件最大1G,超过1G后会新建同名+“.1”后缀的数据文件,依次累加,同样在编译时可...
2024-01-10Android从源码的角度彻底理解事件分发机制的解析(上)
其实我一直准备写一篇关于Android事件分发机制的文章,从我的第一篇博客开始,就零零散散在好多地方使用到了Android事件分发的知识。也有好多朋友问过我各种问题,比如:onTouch和onTouchEvent有什么区别,又该如何使用?为什么给ListView引入了一个滑动菜单的功能,ListView就不能滚动了?为什么图片轮...
2024-01-10redis源码学习02:跳跃表插入结点
本文是本人在学习redis源码时的笔记,本文主要是对跳跃表插入结点代码的中文注释,如有错误欢迎指正。有关跳跃表的原理可以上网搜材料,有很多。首先看下redis源码里有关跳跃表的相关结构体:typedef struct zskiplistNode { // 跳跃表节点 sds ele; // zset元素 double score; // zset分值 struct zsk...
2024-01-10Redis动态字符串SDS源码学习
参考redis数据结构:sds动态字符串redis源码解读(一):基础数据结构之SDS1. 用Simple Dynamic String 取代 C 默认的 char* 类型Redis没有直接使用c语言的字符串,而是自己定义了一个字符串数据结构,SDS作为默认的字符串,我们设置的所有键值基本都是SDSC语言字符串特点:每次计算字符串长度strlen(s)的时间复...
2024-01-10柔性数组(Redis源码学习)
柔性数组(Redis源码学习)1. 问题背景在阅读Redis源码中的字符串有如下结构,在sizeof(struct sdshdr)得到结果为8,在后续内存申请和计算中也用到。其实在工作中有遇到过这种 struct结构 + 应用数据的情况,但没有意识到自己使用的是柔性数组,在学习阅读Redis代码中,遇到该方法,就特总结记录之。/* * 类...
2024-01-10ASM源码学习之ClassReader、ClassVisitor与ClassWriter详解
ASMASM是Java中比较流行的用来读写字节码的类库,用来基于字节码层面对代码进行分析和转换。在读写的过程中可以加入自定义的逻辑以增强或修改原来已编译好的字节码,比如CGLIB用它来实现动态代理。ASM被设计用于在运行时对Java类进行生成和转换,当然也包括离线处理。ASM短小精悍、且速度很快,...
2024-01-10简单实现Android学生管理系统(附源码)
本文实例讲述了Android实现学生管理系统,分享给大家供大家参考。具体如下:(1)管理系统实现的功能主要是:学生、教师的注册登录,和选课,以及修改学生的成绩等基本简单的功能,最主要的是实现一些Dialog的使用。 界面如下:(2)主要代码如下:(个人留作笔记,如需要完整代码,在最...
2024-01-10Android二维码开发学习教程
二维码其实有很多种,但是我们常见的微信使用的是一种叫做QRCode的二维码,像下面这样的,可以放心的扫,这只是我的博客主页链接啦: 关于QR码编码的二维码,我们要知道几个特点: 1. 扫描时可以从各个角度去扫,也就是旋转多少度都没关系,不信吗?下次去肯德基买单试试咯。 2. 二维码...
2024-01-10